package com.hbnu.practices01;

import java.util.Scanner;

/**
 * 需求：求出某年某月某日是当年的第多少天，
 * 要求：年、月、日从键盘输入
 *
 * @author kittychen
 * @date 2025-09-09 16:37
 */
public class Practice02 {

    public static void main(String[] args) {
        // 1、创建键盘输入对象
        Scanner scanner = new Scanner(System.in);

        // 2、定义变量接收键盘输入的年、月、日
        System.out.println("请输入年份：");
        int year = scanner.nextInt();
        System.out.println("请输入月份：");
        int month = scanner.nextInt();
        System.out.println("请输入日期：");
        int day = scanner.nextInt();

        // 3、定义变量，用于存用户输入月份前几个月的总天数，定义存放每个月总天数的变量
        int days = 0;  // 存放每个月的总天数
        int counts = 0;  // 存放用户输入月份前几个月的总天数

        // 4、开始计算前几个月的总天数
        for (int i = 1; i < month; i++) {
            switch (i) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    days = 31;
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    days = 30;
                    break;
                case 2:
                    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
                        days = 29;
                    } else {
                        days = 28;
                    }
                    break;
            }
            counts += days;
        }

        // 5、输出最终结果
        System.out.println(year + "年" + month + "月" + day + "日是" + year + "年的第" + (counts + day) + "天");
    }
}
